package ch.zhaw.cctd.domain;

import java.awt.Point;

/**
 * Interface für alle beweglichen Objekte. Wird benutzt um die aktuellen
 * Positionen der Elemente zu berechnen.
 * 
 * @author Rolf Koch
 * 
 */
public interface Movable {

	/**
	 * Triggers the calculation of the current Position
	 */
	public void move();

	/**
	 * Enables the Movement of the Object
	 */
	public void startMoving();

	/**
	 * Checks if the OBject is already Moving
	 * 
	 * @return true / false
	 */
	public boolean isMoving();

	/**
	 * Returns the Left top Corner of the Element
	 * 
	 * @return Point
	 */
	public Point getLocation();

	/**
	 * Returns the Center Point of the Element
	 * 
	 * @return Point
	 */
	public Point getCenter();
}
